Interworking Supplementary Call Services Between Different Communication Protocols

ABSTRACT

A method for interworking supplementary call services between different VOIP protocols is provided. The method comprises receiving, during a call between a first end device and a second end device, a first message in a first protocol format for the second end device to transfer the call to a third end device; determining interworking information to interwork the first message to a second message in a second protocol format; generating the second message based on the interworking information, such that the second message initiates the call transfer to the third end device.

TECHNICAL FIELD

The present invention generally relates to telecommunications and morespecifically to providing an interworking solution that supportssupplementary call services between end devices communicating overvarious communication protocols.

BACKGROUND

Voice over Internet protocol (VOIP) refers to a set of standards forcommunicating digitized voice in form of data over an IP-based network,such as the Internet. Current VOIP systems use different communicationprotocols, such as packet based telecommunication protocol H.323 andsession initiation protocol (SIP), to set up calls between one or morecommunication endpoints. Each endpoint (i.e., end device) maycommunicate over a different communication protocol, such that one enddevice may communicate over the H.323 protocol and another end devicemay communicate over the SIP, for example.

To support communication between end devices that use different VOIPprotocols, basic models for interworking the H.323 and SIP protocolshave been implemented. Interworking refers to the process of mapping acommunication method or message supported in one protocol to acorresponding communication method or message in another protocol. Thus,for example, a call between two end devices can be set up, even if oneend device communicates over the H.323 and another end devicecommunicates over the SIP.

A set of standards known as H.450 have been suggested by theInternational Telecommunications Union (ITU) to support supplementaryservices for H.323. Supplementary services include call services such ascall forward, call transfer, call hold, call wait, call identification,etc. Unfortunately, the current interworking solutions support a fewtypes of call connections and do not provide an interworking solutionfor supplementary services in a non-H.450 communication framework.

Accordingly, systems and methods are needed that can overcome theaforementioned shortcomings.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are understood by referring to thefigures in the attached drawings, a brief description of which isprovided below.

FIG. 1 depicts a simplified block diagram of a communication network,wherein two or more end devices may communicate via a gateway, accordingto one embodiment.

FIG. 2 depicts a simplified flowchart of a method for interworking a SIPmessage to a H.323 message, according to one embodiment.

FIG. 3 depicts a simplified flowchart of a method for interworking aH.323 message to a SIP message, according to one embodiment.

FIG. 4 depicts an exemplary call flow for initiating a blind transferfrom an end device communicating over SIP, according to one embodiment.

FIG. 5 depicts an example of a SIP REFER message, according to oneembodiment.

FIG. 6 depicts an exemplary call flow for initiating a blind transferfrom an end device communicating over H.323, according to oneembodiment.

FIG. 7 depicts an exemplary call flow for initiating a consult transferfrom an end device communicating over SIP, according to one embodiment.

FIG. 8 depicts an exemplary call flow for initiating a consult transferfrom an end device communicating over H.323, according to oneembodiment.

FIG. 9 is a simplified block diagram of exemplary components of agateway, according to one embodiment.

Features, elements, and aspects of the invention that are referenced bythe same numerals in different figures represent the same, equivalent,or similar features, elements, or aspects, in accordance with one ormore embodiments.

DESCRIPTION Overview

For purposes of summarizing, certain aspects, advantages, and novelfeatures of the invention are provided below. It is to be understoodthat not all such advantages may be achieved in accordance with any oneparticular embodiment of the invention. Thus, the invention may beembodied or carried out in a manner that achieves or optimizes oneadvantage or group of advantages without achieving all advantages as maybe taught or suggested herein.

In accordance with one embodiment, a first end device associated with afirst user and a second end device associated with a second user may beparticipating in a call. During the call, the second user may wish totransfer the call to a third end device associated with a third user. Asprovided in further detail below, the second user may use a blindtransfer or a consult transfer, for example, to establish a call betweenthe first and third end devices.

In an exemplary embodiment, the first end device may communicate overthe H.323 and the second end device may communicate over the SIP. Toinitiate the call transfer, the second end device, preferably, sends aSIP message to transfer the call from the first end device to the thirdend device. The gateway receives the SIP message and facilitates thecall transfer to the third device communicating over the H.323, bydetermining interworking information (e.g., an identifier for the thirduser) for transferring the call. The gateway generates a H.323 messagebased on the interworking information. The message is sent to the firstend device to effectuate the call transfer. The SIP message may comprisea REFER message, for example. The H.323 message may comprise an ECSmessage for example.

In accordance with another exemplary embodiment, to initiate the calltransfer, the first end device, preferably, sends a H.323 message totransfer the call from the first end device to the third end device. Thegateway receives the H.323 message and facilitates the call transfer tothe third device communicating over the H.323, by determininginterworking information for transferring the call. The gatewaygenerates a SIP message based on the interworking information. Themessage is sent to the second end device to effectuate the calltransfer. The H.323 message may comprise an ECS message, for example.The SIP message may comprise a ReINVITE message, for example.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

In the following, numerous specific details are set forth to provide athorough description of various embodiments of the invention. Certainembodiments of the invention may be practiced without these specificdetails or with some variations in detail. In some instances, certainfeatures are described in less detail so as not to obscure other aspectsof the invention. The level of detail associated with each of theelements or features should not be construed to qualify the novelty orimportance of one feature over the others.

In accordance with one aspect of the invention, systems and methods forinterworking supplementary call services between various VOIP protocolsare provided. In the following description, several exemplaryinterworking solutions are provided as applicable to a call transferfeature of the H.323 and SIP protocols. It is noteworthy, however, thatthis application is by way of example. Thus, the principals and theteachings of the present disclosure can be equally applied to other VOIPprotocols and features without detracting from the scope of theinvention.

Referring to FIG. 1, a gateway 102 and end devices 104 (e.g., 104-1,104-2 and 104-3) communicate in a networked environment. The networkenvironment can be established over a local or wide area topology, andthe connections between the end devices in the network may be providedover wired or wireless lines or a combination of the two, and in certainembodiments over a distributed network environment.

End devices 104 are participants in one or more communication networks.Exemplary end devices 104 may comprise one or more of VOIP telephones,computers, instant messaging clients, cellular phones, soft phones,set-top boxes, smart appliances, gaming consuls or any other device thatcan participate in voice or data communication.

In accordance with one embodiment, end devices 104 may communicate overVOIP protocols such as H.323 or SIP. As noted earlier, the invention hasbeen described as applicable to H.323 and SIP protocols by way ofexample. It is emphasized, however, that the principals and conventionsdisclosed here can be equally applied to other communication protocols(e.g., successor protocols or enhancements to H.323 or SIP).

In one embodiment, end device 104-1, end device 104-2, and end device104-3 are members of the same or separate independent networks and areinterconnected via gateway 102. Gateway 102 may be any network deviceconfigured to manage communications with end devices 104. Gateway 102may comprise one or more session border controllers, SIP proxies,IP-PBXs, media gateways, soft switches, back-to-back user agents(B2BUAs), IP-to-IP gateways, etc. Gateway 102 preferably interconnectsvarious end devices that communicate over different communicationprotocols.

In accordance with one aspect of the invention, gateway 102 isconfigured to provide interworking between different VOIP protocols, sothat for example, end device 104-1 can communicate over a first protocol(e.g., H.323) and end device 104-2 can communicate over a secondprotocol (e.g., SIP). Gateway 102 provides interworking betweendifferent protocols such that end device 104-1 may communicate with enddevice 104-2, and to support supplementary call services for one or moreof the end devices 104.

Gateway 102 may, for example, interwork a SIP REFER message to an emptycapability set (ECS) message in the H.323 protocol, or interwork an ECSmessage to a SIP ReINVITE message, to effectuate a call transfer fromend device 104-2 to end device 104-3. In some embodiments, a blindtransfer or a consult transfer can be performed using gateway 102.

In consult transfer, the initial call is established between a firstperson (transferee) and a second person (transferor). The second personconsults a third person (transfer-to) by calling the third person andthen transfers the call, so that the first person and the third personcan converse. A blind transfer is similar to the consult transferprocess in that the initial call is established between the first person(transferee) and the second person (transferor) and after the transferis committed, the first person and third person (transfer-to) canconverse. In a blind transfer, however, the second person can transferthe first person to the third person without consulting the thirdperson.

For the purpose of example, an ECS message is defined as a terminalcapability set message that preferably comprises at least one of asequence number or a protocol identifier. Using the ECS message, networkelements such as gateway 102, PBXs, call centers, and IVR systems canreroute media connections independent of supplementary services andfacilitate pre-connect announcements. In one embodiment, each device 104responds to the reception of an ECS message so that gateway 102 canreroute media connections between one or more end devices 104.

In one embodiment, upon reception of an ECS message, a transmitting enddevice 104 enters a paused state and stops transmitting on one or morelogical channels used to establish a call. Depending on implementation,end device 104 may also close one or more logical channels that werepreviously opened, including bidirectional logical channels, forexample.

End device 104 may close a logical channel by sending a close logicalchannel (CLC) message. Preferably, end device 104 will request a remoteend device to close remotely open logical channels, eitherunidirectional or bidirectional. In some embodiments, end device 104 maysend an acknowledgement message (e.g., ECS_ACK or CLC_ACK), preferably,before stopping transmission to indicate that the discontinuation intransmission is intentional or confirm the close channel request.

In one embodiment, while an end device 104 is in the paused state, theend device 104 will not initiate the opening of new logical channels.End device 104 may, however, accept the opening and closing of logicalchannels from a remote end device and may continue to receive media onopen logical channels opened by the remote end device. This allows theend device 104 to receive announcements (e.g., pre-connect call progressdata) where the announcing entity does not wish to receive media.

Accordingly, a terminal capability set message, such as TCS can be usedwhen an end device's capabilities change (i.e., when an end device 104is in a paused state). In this manner, an end device (e.g., 104-1) cancommunication with another end device (e.g., 104-2), even if neither ofthe end devices had initially declared any capabilities for establishinga communication connection.

In some embodiments, an end device in a paused state may place anotherend device with which it is communicating into a paused state bytransmitting an ECS message. Upon reception of the ECS message, thereceiver end device will suspend communication and close one or moreopen logical channels. A paused end device can leave the paused stateupon receiving a message indicating that its capabilities has changedand resume activity prior to entering the paused state. Thus, thereleased end device may reconnect to different end devices.

In one or more embodiments, unless an end device's capabilities havechanged, the end device does not send a terminal capability set messageto another end device to release the other end device from a pausedstate. In order to expedite reestablishing communication between the enddevices, preferably, gateway 102 requests that the other end device tobe released from the paused state.

Referring to FIGS. 1 and 2, an exemplary method for interworking betweenan H.323 protocol and a SIP protocol is provided. In accordance with oneembodiment, end device 104-1 communicates over H.323 and end device104-2 communicates over SIP. Gateway 102 acts as the intermediarybetween end device 104-1 and end device 104-2 to establish acommunication connection between the two end devices.

After a call connection is established between end devices 104-1 and104-2, gateway 102 may receive a SIP message from end device 104-2 totransfer the call to end device 104-3 (S202). The SIP message indicatesthat the recipient end device should contact a third party end deviceusing the contact information provided in the request. Gateway 102determines interworking information to effectuate the call transfer byreleasing the connection between end devices 104-1 and 104-2, andestablishing a connection between end devices 104-1 and 104-3 (S204).Since end device 104-1 and end device 104-2 communicate using differentprotocols, the SIP message may not be directly forwarded to end device104-1 to initiate the transfer.

Accordingly, interworking information for carrying out the transfer isdetermined by gateway 102. In one embodiment, gateway 102 parses the SIPmessage, for example, to determine fields that include information(e.g., contact information for end device 103-3) for the transfer.Gateway 102 preferably generates an H.323 message using the interworkinginformation (S206). The H.323 message is thus used to initiate atransfer to end device 104-3 over H.323. Gateway 102 sends the H.323message to end device 104-1 to initiates a transfer of the call to enddevice 104-3 (S208).

Referring to FIGS. 1 and 3, another exemplary method for interworkingbetween the SIP and H323 protocols is provided. In this embodiment,assuming a similar VOIP networking arrangement as the earlier example,gateway 102 receives an H.323 message from end device 104-1 to transfera call session established between end device 104-1 and end device 104-2to end device 104-3 (S302). In response, gateway 102 determinesinterworking information (e.g., identification information for enddevice 104-3) to effectuate the call transfer (S304). Preferably,gateway 102 generates a SIP message (S306); and sends the SIP messageusing the interworking information (S308).

The above two simplified interworking methods illustrated in FIGS. 2 and3 may be used in a blind transfer or consult transfer. It is noteworthy,however, that depending on implementation and network environmentadditional procedures, messages or methods may be utilized to performthe transfer between the end devices 104. Furthermore, in alternativeembodiments, similar methods may be used to support any type ofsupplementary service between end devices 104.

Referring to FIGS. 4 through 8, exemplary call flows between end devices104-1, 104-2 and 104-3 are provided to describe various call transfermethods, in accordance with one or more embodiments. The exemplary callflows are disclosed as applicable to blind and consult transfer methods.It should be noted, however, that the exemplary call flows disclosedhere are provided by way of example. As such, other call flows such ascall forward, call hold, call resume, call park, call pickup and othercall related procedures may be utilized to accomplish same or similarresults as contemplated here.

FIG. 4 illustrates an exemplary flow diagram 400 showing a blindtransfer initiated by an end device communicating over SIP, according toone embodiment. End device 104-1, end device 104-2 and end device 104-3may be member of different networks. End device 104-1 and end device104-3 preferably communicate over H.323, and end device 104-2 preferablycommunicates over SIP.

In the following exemplary embodiments, end device 104-2 is the partythat initiates the call transfer (i.e., Transferor); end device 104-1 isthe party that receives the transfer request (i.e., Transferee); and enddevice 104-3 is the party to which the call is transferred (i.e.,TransferTo). Referring to call flow 402, end device 104-1 sets up a callwith end device 104-2. As shown, exemplary H.323 signaling messages(e.g., SETUP) are interworked into SIP messages (e.g., INVITE) to set upthe call. Media either flows through or flows around gateway 102 betweenend device 104-1 and end device 104-2, once the call is established.

Referring to call flow 404, end device 104-2 initiates a call transferto end device 104-3. As shown, a SIP REFER message is sent from enddevice 104-2 to gateway 102. The REFER message provides for a blindtransfer and, for example, includes an identifier (e.g., C) identifyingend device 104-3. The identifier is preferably a unique identifier, suchas a telephone number, email address, IP address, username, or any otheridentifier for an end device. In this exemplary embodiment, the blindtransfer is accomplished by way of a SIP “REFER(Refer-to:)” method andthe identifier C included in the “Refer-to” field provides thecommunication address for device 104-3.

To effectuate the call transfer, gateway 102 will attempt to forward thecall transfer message to end device 104-1. Since end device 104-1communicates over H.323, the SIP REFER message generated by end device104-2 cannot be utilized to communicate directly with end device 104-1.That is, in accordance with one embodiment, end device 104-1 isnon-H.450 capable. As such, H.450 methods may not be used forsupplementary services. In one embodiment, the ECS message is used formedia renegotiations. Accordingly, gateway 102 determines interworkinginformation for generating and sending a H.323 ECS message to end device104-1.

FIG. 5 depicts an example of a SIP REFER message 500, according to oneembodiment. Gateway 102 may parse message 500 to determine informationfor the ECS message. In one embodiment, gateway 102 determines that enddevice 104-2, which is identified by “Referred-by” field 506, wants totransfer the call to the identifier included in a “Refer-to” field 504(e.g., <SIP:2001@1.2.177.3.60). Gateway 102 utilizes the identifier asinterworking information. An example of an ECS message 508 (also knownas TCS=0) that is generated using the interworking information isprovided below.

Example of ECS (TCS=0) message: value MultimediaSystemControlMessage ::=request : terminalCapabilitySet :   {    sequenceNumber 1   } Example ofTCS message: value MultimediaSystemControlMessage ::= request :terminalCapabilitySet :   {    sequenceNumber 1    protocolIdentifier {0 0 8 245 0 7 }    multiplexCapability h2250Capability :    {    maximumAudioDelayJitter 20     receiveMultipointCapability     {     multicastCapability FALSE      multiUniCastConference FALSE     mediaDistributionCapability      {       {       centralizedControl FALSE        distributedControl FALSE       centralizedAudio FALSE        distributedAudio FALSE       centralizedVideo FALSE        distributedVideo FALSE       }     }     }     transmitMultipointCapability     {     multicastCapability FALSE      multiUniCastConference FALSE     mediaDistributionCapability      {       {       centralizedControl FALSE        distributedControl FALSE       centralizedAudio FALSE        distributedAudio FALSE       centralizedVideo FALSE        distributedVideo FALSE       }     }     }     receiveAndTransmitMultipointCapability     {     multicastCapability FALSE      multiUniCastConference FALSE     mediaDistributionCapability      {       {       centralizedControl FALSE        distributedControl FALSE       centralizedAudio FALSE        distributedAudio FALSE       centralizedVideo FALSE        distributedVideo FALSE       }     }     }     mcCapability     {      centralizedConferenceMC FALSE     decentralizedConferenceMC FALSE     }    rtcpVideoControlCapability FALSE     mediaPacketizationCapability    {      h261aVideoPacketization FALSE     }    logicalChannelSwitchingCapability FALSE    t120DynamicPortCapability FALSE    }    capabilityTable    {     {     capabilityTableEntryNumber 27      capabilityreceiveAndTransmitDataApplicationCapability :      {       applicationt38fax :       {        t38FaxProtocol udp : NULL        t38FaxProfile       {         fillBitRemoval FALSE         transcodingJBIG FALSE        transcodingMMR FALSE         version 0        t38FaxRateManagement transferredTCF : NULL        t38FaxUdpOptions         {          t38FaxMaxBuffer 200         t38FaxMaxDatagram 72          t38FaxUdpEC t38UDPRedundancy :NULL         }        }       }       maxBitRate 144      }     },     {     capabilityTableEntryNumber 22      capabilityreceiveUserInputCapability : basicString : NULL     },     {     capabilityTableEntryNumber 11      capabilityreceiveAudioCapability : g729wAnnexB : 2     },     {     capabilityTableEntryNumber 9      capability receiveAudioCapability: g7231 :      {       maxAl-sduAudioFrames 1       silenceSuppressionFALSE      }     },     {      capabilityTableEntryNumber 1     capability receiveAudioCapability : g711Ulaw64k : 20     },     {     capabilityTableEntryNumber 2      capability receiveAudioCapability: g711Alaw64k : 20     },     {      capabilityTableEntryNumber 8     capability receiveAudioCapability : g728 : 8     }    }   capabilityDescriptors    {     {      capabilityDescriptorNumber 1     simultaneousCapabilities      {       {        27,        1,       2,        11,        9,        8       },       {        22      }      }     }    }   }

Referring back to FIG. 4, in one embodiment, a SIP REFER message isparsed and interworking information for generating the ECS message isdetermined. The interworking information is used to generate the ECSmessage, which is sent from gateway 102 to end device 104-1, as shown incall flow 406, to initiate a call with end device 104-3 and renegotiatemedia. Accordingly, gateway 102 requests that end device 104-1 to entera paused state and close one or more logical channels used tocommunicate with end device 104-2, at which time end device 104-2 maydrop out of the call.

The call transfer to end device 104-3 is effectuated in call flow 408.In this exemplary embodiment, gateway 102 initiates a call to end device104-3. A call is connected and media may flow between end device 104-1and end device 104-3. Accordingly, the call is transferred from enddevice 104-2 to end device 104-3 by way a blind transfer and as a resultof interworking a SIP REFER message with a H.323 ECS message. As aresult, end device 104-1 can establish a media with end device 104-3,when the call with end device 104-2 is terminated.

FIG. 6 illustrates an exemplary flow diagram 600 showing a method for ablind transfer initiated by an end device communicating over H.323, inaccordance with one embodiment. In this embodiment, end device 104-1 andend device 104-3 communicate over H.323 protocol and end device 104-2communicates over SIP. End device 104-1 and end device 104-2 may beparticipating in a call when end device 104-1 requests a blind transferto end device 104-3.

In accordance with an exemplary embodiment, call flow 602 illustratessignaling messages for setting up a call between end device 104-1 andend device 104-2. As shown, end device 104-1 sends H.323 messages togateway 102 which interworks the H.323 messages to SIP messages that areforwarded to end device 104-2. In response to the call being set up,media can flow between end device 104-1 and end device 104-2.

In exemplary call flow 604, end device 104-1 request a call transferfrom end device 104-2 to end device 104-3 by generating a new SETUP.Also for media renegotiation and music on hold (MoH), end device 104-1sends an ECS message to gateway 102. The ECS message is an H.323 messagerequesting for end device 104-2 to enter a pause state. Gateway 102interworks the received H.323 ECS message to generate and transmit a SIPReINVITE (a=sendonly) message to end device 104-2. Upon receiving theReINVITE message with the “sendonly” attribute, end device 104-2 isplaced on hold, with music on hold (MoH) or no music, depending onimplementation.

The “sendonly” attribute is utilized to inform the recipient of theReINVITE message (e.g., end device 104-2) that the transmitter (e.g.,end device 104-1) will be sending media and that the transmitter willnot be receiving any media. Accordingly, by using the “sendonly”attribute, end device 104-1 puts end device 104-2 on hold.

Referring to exemplary call flow 606, end device 104-1 attempts to setup a call to end device 104-3 to complete the blind transfer. As shown,end device 104-1 may send H.323 messages to gateway 102, and Gateway 102may send the H.323 messages to end device 104-3 to accomplish the callsetup. It is noteworthy that in the exemplary call flow 606, gateway 102need not interwork messages between H.323 and SIP, because both enddevices 104-1 and 104-3 communicate over H.323.

In one embodiment, prior to media flowing between end device 104-1 andend device 104-3, gateway 102 transmits a SIP ReINVITE message with a“sendrecv” attribute to end device 104-2 to release end device 104-2.The “sendrecv” attribute is utilized to indicate that media can flowbetween the parties (i.e., to remove the on hold status). Once enddevice 104-2 is released, media flows between end device 104-1 and104-3.

FIG. 7 illustrates an exemplary flow diagram 700 showing a method for aconsult transfer initiated by an end device communicating over SIP, inaccordance with one embodiment. In this embodiment, end device 104-1 andend device 104-3 communicate over H.323, and end device 104-2communicates over SIP. End device 104-1 and end device 104-2 may beparticipating in a call when end device 104-2 requests a consulttransfer to end device 104-3.

In accordance with an exemplary embodiment, call flow 702 showssignaling messages for setting up a call between end device 104-1 andend device 104-2. As shown, end device 104-1 sends H.323 messages togateway 102 which interworks the H.323 messages with SIP messages thatare in turn forwarded to end device 104-2. Media can flow between enddevice 104-1 and end device 104-2 once the call is set up.

In exemplary call flow 704, a user B, using end device 104-2, mayconsult with a user C, using end device 104-3, for a call transfer.Preferably, the call with end device 104-1 may be put on hold, withmusic or no music, while the consult transfer is initiated and proceeds.End device 104-2 sends one or more SIP messages (e.g., INVITE) togateway 102, and gateway 102 interworks the SIP messages into H.323messages (e.g., SETUP) to set up a call between end devices 104-2 and104-3.

Once the call connection is established, media flows between end device104-2 and end device 104-3 so that, for example, user B can ask user Cif user C accepts a call transferred from a user A, using end device104-1. Referring to exemplary call flow 706, after talking with user C,user B may initiate the call transfer to user C's end device 104-3. Inthis exemplary scenario, end device 104-2 sends a request for a consulttransfer to gateway 102 by way of a SIP REFER message.

The SIP REFER message for a consult transfer may be different from theSIP REFER for a blind transfer. In blind transfer, REFER carriesRefer-To address and no replace header as there is no consult call toreplace. In consult transfer, REFER carries Refer-To address and alsoreplace header. The Replace header comprises a caller id, a from-tag anda to-tag of the consult call to help uniquely identify the consult call.In one exemplary embodiment, the REFER message has the format “REFER(replace:C)”, where C is an identifier for end device 104-3 and thereplace header identifies that the call is between end device 104-2 andend device 104-3.

In exemplary call flow 708, gateway 102 transmits an H.323 ECS messageto end devices 104-1 and 104-3 to place said end devices in a pausedstate, while end device 104-2 is being released and a call between enddevices 104-1 and 104-3 is being established. Media can then flowbetween end device 104-1 and end device 104-3.

FIG. 8 illustrates an exemplary flow diagram 800 showing a method for aconsult transfer initiated by an end device communicating over H323, inaccordance with one embodiment. As shown, end device 104-1 and enddevice 104-3 communicate over H.323 protocol and end device 104-2communicates over SIP. End device 104-1 and end device 104-2 may beparticipating in a call when end device 104-1 requests a consulttransfer for end device 104-2 to transfer the call to end device 104-3.

In accordance with an exemplary embodiment, call flow 802 showssignaling messages for setting up a call between end device 104-1 andend device 104-2. As shown, end device 104-1 sends H.323 messages togateway 102 which interworks the H.323 messages with SIP messagesforwarded to end device 104-2. Media can then flow between end device104-1 and end device 104-2 after the call is set up.

In exemplary call flow 804, end device 104-1 requests a call transferfrom end device 104-2 to end device 104-3 by generating and sending anECS message to gateway 102. The ECS message is an H.323 messagerequesting for end device 104-2 to enter a paused state. Gateway 102interworks the received H.323 ECS message to generate and transmit aReINVITE (a=sendonly) SIP message to end device 104-2. Upon receivingthe ReINVITE message with the “sendonly” attribute, end device 104-2 isplaced on hold, with music or no music, depending on implementation.

In exemplary call flow 806, end device 104-1 attempts to set up a callto end device 104-3 to complete the consult transfer. As shown, enddevice 104-1 may send H.323 messages to gateway 102, and since both enddevices 104-1 and 104-3 communicated over H.323, gateway 102 can sendthe H.323 messages to end device 104-3, preferably without interworking,to accomplish the call setup. Once the connection is established, mediaflows between end devices 104-1 and 104-3, as shown.

Referring to exemplary call flow 808, in response to end device 104-1transmitting an ECS message to end device 104-3, end device 104.2commits the call transfer. CLC messages communicated between end devices104-1 and 104-3 cause logical channels between the end devices to beclosed. In exemplary call flow 810, gateway 102 transmits a SIP ReINVITEmessage with a “sendrecv” attribute to end device 104.2 to release enddevice 104-2. Once end device 104-2 is released, media flows between enddevice 104-2 and 104-3.

Although a full consult transfer is described above with reference toone or more exemplary embodiments, it is noteworthy that a semi-consulttransfer also known as “consult at alert” may be supported in a similarmanner, where the transfer is committed, in response to end device 104-2being alerted, instead of waiting for connection.

It should be noted that the above exemplary call flows are for a mediaflow-around where media flows, preferably, directly between the enddevices 104 as controlled by gateway 102. A person skilled in the artwould appreciate that call flows may be also supported for scenarioswhere media flows indirectly between the end devices 104, throughgateway 102. In such a case, identification information for gateway 102(e.g., gateway's address and RTP ports) may be included in the mediabeing sent. Such information can be used to terminate and re-originatemedia with end devices 104.

In accordance with one or more embodiments, in both media flow aroundand media flow through scenarios, signaling preferably flows via gateway104 to accommodate the interworking between H.323 and SIP networks. EachH.323 or SIP message is parsed to generate a message that can be mappedto a corresponding message in the counterpart protocol. As providedabove, one or more exemplary embodiments support mapping between H.323ECS, SIP REFER and SIP ReINVITE messages. Gateway 102 can intelligentlydetermine which information is needed to interwork the messages fordifferent protocols to complete a call transfer between end devices 104.

FIG. 9 depicts an exemplary embodiment of gateway 102, in accordancewith one aspect of the invention. As shown, gateway 102 may comprise aninterworking facilitator 902, a message parser 904 and a messagegenerator 906. Message parser 904 determines interworking informationfrom the message received. Message parser 904 may, for example, includelogic that intelligently parses fields of a message and determinesinterworking information.

In one embodiment, message parser 904 can parse an H.323 message anddetermine the information for generating a counterpart SIP message.Further, message parser 904 can parse a SIP message and determine theinformation for generating a counterpart H.323 message. For example,message parser 904 may determine an identifier for the end device 104 towhich the call will be transferred or other information needed tocomplete the transfer over the respective VOIP protocols.

In one embodiment, interworking facilitator 902 is configured todetermine when a call transfer is requested. For example, interworkingfacilitator 902 may determine whether a SIP REFER or ReINVITE message ora H.323 ECS message for a call transfer is received. Message generator906 preferably generates a message that can be mapped to a counterpartmessage in a corresponding protocol. For example, if the call transfermessage is an H.323 message, message generator 906 may generate a SIPREFER or ReINVITE message using the interworking information. Messagegenerator 906 then sends the generated SIP message.

Although the invention has been described with respect to specificexemplary embodiments, these exemplary embodiments are merelyillustrative and not restrictive of the invention. For example, theprincipals and conventions disclosed herein may be used for interworkingmessages between protocols other than SIP and H.323.

Any suitable programming language can be used to implement theprocesses, steps, or routines discussed with reference to the aboveexemplary embodiments. Such programming languages may include C, C++,Java, assembly language, etc. Different programming techniques (e.g.,procedural or object oriented) may be employed. The routines can beexecuted on a single processing device or multiple processors. Althoughcertain steps, operations or computations may have been presented in aspecific order in the above exemplary embodiments, this order is not ofparticular importance unless stated otherwise.

For example, in some embodiments of the invention, multiple steps in aprocess are shown as sequential. However, in alternative embodiments,such steps may be performed concurrently or in a different sequence. Thesequence of operations described herein can be interrupted, suspended orotherwise controlled by another process, such as an operating system, akernel, a virtual machine, etc. The routines can operate in an operatingsystem environment or as stand-alone routines occupying all, or asubstantial part, of the system processing. Functions can be performedin hardware, software, or a combination of both. Unless otherwisestated, functions may also be performed manually, in whole or in part.

Numerous specific details have been provided, such as examples ofcomponents and methods, to provide a thorough understanding ofembodiments of the present invention. One skilled in the relevant artwill recognize, however, that an embodiment of the invention can bepracticed without one or more of the specific details, or with otherapparatus, systems, assemblies, methods, components, materials, parts,and/or the like. In other instances, well-known structures, materials oroperations are not specifically shown or described in detail to avoidobscuring aspects of embodiments of the present invention.

A “computer-readable medium” for purposes of embodiments of the presentinvention may be any medium that can contain, store, communicate,propagate or transport the program for use by or in connection with theinstruction execution system, apparatus, system or device. The computerreadable medium can be, by way of example, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,system, device, propagation medium or computer memory.

Certain embodiments of the present invention can be implemented in theform of control logic in software or hardware or a combination of both.The control logic may be stored in an information storage medium, suchas a computer-readable medium, as a plurality of instructions adapted todirect an information processing device to perform a set of steps asdisclosed in one or more embodiments. Based on the disclosure andteachings provided here, a person of ordinary skill in the art willappreciate that other ways and/or methods may be implemented toaccomplish the same or similar results as contemplated herein.

A “processor” or “process,” as used herein, may comprise any human,hardware and/or software system, mechanism or component that processesdata, signals or other information. A processor can include a systemwith a general-purpose central processing unit, multiple processingunits, dedicated circuitry for achieving functionality or other systems.Processing need not be limited to a geographic location, or havetemporal limitations. For example, a processor can perform its functionsin “real time,” “offline,” in a “batch mode,” etc. Portions ofprocessing can be performed at different times and at differentlocations, by different (or the same) processing systems, for example.

References throughout this specification to “one embodiment,” “anembodiment,” or “a specific embodiment” mean that a particular feature,structure or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention and notnecessarily in all embodiments. Thus, respective appearances of thephrases “in one embodiment,” “in an embodiment,” or “in a specificembodiment” in various places throughout this specification are notnecessarily referring to the same embodiment. Furthermore, theparticular features, structures or characteristics of any specificembodiment of the present invention may be combined in any suitablemanner with one or more other embodiments. It is to be understood thatother variations and modifications of the embodiments described andillustrated herein are possible in light of the teachings herein and areto be considered as part of the spirit and scope of the presentinvention.

One or more embodiments may be implemented by using a programmedgeneral-purpose digital computer, by using application specificintegrated circuits, programmable logic devices, field programmable gatearrays, optical, chemical, biological, quantum or nanoengineeredsystems, components and mechanisms. In general, the disclosed functionscan be achieved by any means as is known in the art. Distributed, ornetworked systems, components and circuits can be used to implement oneor more embodiments. Communication or transfer of data may beaccomplished over wired or wireless communication lines, or by any othermeans.

It also will be appreciated that one or more of the elements depicted inthe drawings can also be implemented in more or less detail, or evenremoved or rendered as inoperable in certain cases, as is useful inaccordance with a particular application. It is also within the spiritand scope of the invention to implement a program or code that can bestored in a machine-readable medium to permit a computer to perform anyof the methods described above.

Additionally, any signals in the drawings should be considered asexemplary, and not limiting, unless otherwise specifically noted.Furthermore, the term “or” as used herein is generally intended to benon-exclusive to mean “and/or,” unless otherwise indicated. Combinationsof components or steps will also be considered as being noted, whereterminology is foreseen as rendering the ability to separate or combineis unclear.

While the present invention has been described herein with reference toparticular embodiments thereof, a latitude of modification, variouschanges and substitutions are intended in the foregoing disclosures, andit will be appreciated that in some instances some features of certainembodiments will be employed without a corresponding use of otherfeatures and without departing from the scope and spirit of theinvention as set forth. Therefore, some modifications may be made toadapt a particular situation or material to the essential scope andspirit of the invention.

Therefore, it should be understood that the invention can be practicedwith modification and alteration within the spirit and scope of theappended claims. The description is not intended to be exhaustive or tolimit the invention to the precise form disclosed. These and variousother adaptations and combinations of the embodiments disclosed arewithin the scope of the invention and are further defined by the claimsand their full scope of equivalents.

1. A method comprising: receiving, during a call between a first enddevice and a second end device, a SIP REFER message for the second enddevice to transfer the call to a third end device, wherein the first enddevice and the third end device communicate over the H.323 protocol, andthe second end device communicates over the SIP protocol; determininginterworking information to interwork the SIP REFER message with a H.323message; generating a H.323 ECS message based on the interworkinginformation, such that the H.323 ECS message initiates the call transferto the third end device; and transmitting the H.323 ECS message.
 2. Themethod of claim 1, wherein the receiving, determining, generating andtransmitting processes are performed by a gateway connecting the firstend device to the second end device.
 3. The method of claim 2, whereinthe SIP REFER message is received from the second end device.
 4. Themethod of claim 2, wherein the H.323 ECS message is transmitted to thefirst end device.
 5. The method of claim 1, wherein the interworkinginformation comprises an identifier uniquely identifying the third enddevice.
 6. The method of claim 5, wherein the identifier is included theH.323 ECS message.
 7. The method of claim 6, wherein the first enddevice receives the H.323 ECS message and effectuates a call transfer tothe third end device based on the identifier included in the H.323 ECSmessage.
 8. The method of claim 1, wherein the call transfer isperformed by way of a blind transfer.
 9. The method of claim 1, whereinthe call transfer is performed by way of a consult transfer.
 10. Themethod of claim 1, wherein the call transfer is performed by way of asemi-consult transfer.
 11. A method comprising: receiving, during a callbetween a first end device and a second end device, a H.323 ECS messagefor the second end device to transfer the call to a third end device,wherein the first end device and the third end device communicate overthe H.323 protocol, and the second end device communicates over the SIPprotocol; determining interworking information to interwork the H.323ECS message to a SIP message; generating a SIP ReINVITE message based onthe interworking information, such that the SIP ReINVITE messageinitiates the call transfer to the third end device; and transmittingthe SIP ReINVITE message.
 12. The method of claim 11, wherein thereceiving, determining, generating and transmitting processes areperformed by a gateway connecting the first end device to the second enddevice.
 13. The method of claim 12, wherein the H.323 ECS message isreceived from the first end device.
 14. The method of claim 12, whereinthe SIP ReINVITE message is transmitted to the second end device. 15.The method of claim 11, wherein the interworking information comprisesan identifier uniquely identifying the third end device.
 16. The methodof claim 15, wherein the identifier is included the SIP ReINVITEmessage.
 17. The method of claim 16, wherein the second end devicereceives the SIP ReINVITE message and effectuate a call transfer to thethird end device based on the identifier included in the SIP ReINVITEmessage.
 18. The method of claim 11, wherein the call transfer isperformed by way of a blind transfer.
 19. The method of claim 11,wherein the call transfer is performed by way of a consult transfer. 20.The method of claim 1, wherein the call transfer is performed by way ofa semi-consult transfer.